package org.wheel.module.core.util;

import cn.hutool.core.date.DateTime;

/**
 * 时间窗口
 * 可以认为一个时间窗口为 [start, end)]
 * 时间窗口的边界可以任意，但要求时间窗口的边界不能重合。
 */
public record TimeWindow(DateTime start, DateTime end) {
    /** 左闭右开 */
    public boolean overlap(TimeWindow other) {
        return this.start.isBefore(other.end()) && other.start().isBefore(this.end);
    }
}
